package Componentes;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JCheckBox;

/**
 *
 * @author Ing. Luis Antonio Lara Capetillo
 */
public class C_PanelInsertar extends JPanel {

    private String[] etiquetas;
    private int[] tipos;
    private JTextField[] txt_Campo;
    private JComboBox[] cbx_Campo;
    private JCheckBox[] chk_Campo;
    public static final int TIPO_TEXTO = 0;
    public static final int TIPO_COMBO = 1;
    public static final int TIPO_FECHA = 2;
    public static final int TIPO_CHECK = 3;

    /**
     * Constructor que crea un panel con Label y TextFiel
     *
     * @param etiquetas
     */
    public C_PanelInsertar(String[] etiquetas) {
        this.etiquetas = etiquetas;
        this.tipos = new int[etiquetas.length];
        for (int i = 0; i < tipos.length; i++) {
            tipos[i] = 0;
        }
        addComponentes();
    }

    public C_PanelInsertar(String[] etiquetas, int[] tipos) {
        this.etiquetas = etiquetas;
        this.tipos = tipos;
        addComponentes();
    }

    public JTextField[] getTxt_Campo() {
        return txt_Campo;
    }

    public void setTxt_Campo(JTextField[] txt_Campo) {
        this.txt_Campo = txt_Campo;
    }

    public JComboBox[] getCbx_Campo() {
        return cbx_Campo;
    }

    public void setCbx_Campo(JComboBox[] cbx_Campo) {
        this.cbx_Campo = cbx_Campo;
    }

    public JCheckBox[] getChk_Campo() {
        return chk_Campo;
    }

    public void setChk_Campo(JCheckBox[] chk_Campo) {
        this.chk_Campo = chk_Campo;
    }

    
    
    private void addComponentes() {
        JPanel panel = new JPanel();
        JPanel p_Contenido = new JPanel();
        JPanel p_Etiquetas = new JPanel();
        JPanel p_Texto = new JPanel();

        panel.setLayout(new BorderLayout());
        p_Contenido.setLayout(new BorderLayout());
        p_Etiquetas.setLayout(new GridLayout(etiquetas.length, 1));
        p_Texto.setLayout(new GridLayout(etiquetas.length, 1));

        JLabel[] lbl_Etiquetas = new JLabel[etiquetas.length];
        txt_Campo = new JTextField[etiquetas.length];
        cbx_Campo = new JComboBox[etiquetas.length];
        chk_Campo = new JCheckBox[etiquetas.length];

        for (int i = 0; i < etiquetas.length; i++) {
            lbl_Etiquetas[i] = new JLabel(etiquetas[i]);

            switch (tipos[i]) {
                case TIPO_TEXTO:
                    txt_Campo[i]=new JTextField(20);
                    p_Texto.add(txt_Campo[i]);
                    break;
                case TIPO_COMBO:
                    cbx_Campo[i]=new JComboBox();
                    p_Texto.add(cbx_Campo[i]);
                    break;
                case TIPO_FECHA:
                    txt_Campo[i]=new JTextField(20);
                    p_Texto.add(txt_Campo[i]);
                    break;
                case TIPO_CHECK:
                    chk_Campo[i]=new JCheckBox();
                    p_Texto.add(chk_Campo[i]);
                    break;
            }
            p_Etiquetas.add(lbl_Etiquetas[i]);
        }
        p_Contenido.add(p_Etiquetas, "West");
        p_Contenido.add(p_Texto, "Center");
        panel.add(p_Contenido, "West");

    }
}
